In recent years, the use of arithmetic devices in which a plurality of CPU cores are mounted on one semiconductor chip, that is, multi-core processors, has been proposed in various fields. The use of multi-core processors is also being studied in the field of automobile engine control, as disclosed, for example, in Japanese Patent Laid-Open No. 2008-269487. The technology disclosed in Japanese Patent Laid-Open No. 2008-269487 is directed at reducing electric power consumption when using a multi-core processor in an engine control device. According to this technology, when specific control processing is executed when engine control is stopped, an operation mode of a microcomputer is set to a low power consumption mode that is different to an operation mode when the engine is operating. In the low power consumption mode, the number of cores that the microcomputer uses is reduced in comparison to when the engine is operating. When engine control is stopped, no electric power is generated from an alternator or the like as in a case when the engine is operating, and charging of a battery mounted in the vehicle is not performed. Consequently, the greater the number of cores that operate when the specific control processing is executed, the faster the rate at which the charged power of the battery will be consumed.
One advantage of using a multi-core processor is that the multi-core processor exhibits a high processing capacity. A multi-core processor can provide a higher processing capacity compared to a single-core processor that has one CPU core. The high processing capacity exhibited by a multi-core processor is one motive for using a multi-core processor in an engine control device. This is because in recent years the number and kinds of actuators that are mounted in engines are increasing more and more. In order to appropriately control the operations of an engine, it is necessary to set control target values of the actuators to appropriate values that are in accordance with the operating conditions of the engine. Although the conventional engine control devices perform optimization computations for that purpose, the calculation load at such time increases in accordance with an increase in the number and kinds of actuators. Consequently, there has been a concern that the processing capacity of single-core processors used in the conventional engine control devices will soon be insufficient for processing such increasing calculation loads. Use of multi-core processors offers significant benefits to the field of engine control in which calculation loads are expected to increase more and more from now on.
However, the processing capacity of a multi-core processor is not simply determined by the number of cores. The plurality of cores must be operated efficiently to increase the processing capacity, and to achieve it is required to modify and improve the software that makes the cores operate. For example, although it is possible to distribute tasks to a plurality of cores and perform processing in parallel when using a multi-core processor, significant differences in the overall processing capacity arise depending on the parallelization technique, and this results in significant differences in the electric power consumption also.